package com.example.java.utils;

import java.util.Arrays;
import java.util.List;

// 包含用于操作数组（例如排序和搜索）的各种方法的类。
public class ArraysMain {
    public static void main(String[] args) {
        int[] intArray = {1, 2, 3, 4, 5};

        // 使用数组流操作数组
        Arrays.stream(intArray).forEach(System.out::println);

        // 返回由指定数组支持的固定大小列表
        List<int[]> list1 = Arrays.asList(intArray);
        System.out.println(list1);

        // 排序数组
        Arrays.sort(intArray);
        System.out.println(Arrays.toString(intArray));

        // 比较两个数组，返回一个整数，指示它们之间是否有区别，如果相等返回 0，如果 a 比 b 小返回负数，如果 a 比 b 大返回正数。
        int compare = Arrays.compare(intArray, new int[]{1, 2, 3, 4});
        System.out.println(compare);

        // 二分查找
        int index = Arrays.binarySearch(intArray, 3);
        System.out.println(index);

        // 填充数组
        int[] filledArray = new int[10];
        Arrays.fill(filledArray, 42);
        System.out.println(Arrays.toString(filledArray));
    }
}

// 关于 Arrays 数组操作工具类的相关的使用参考官方文档 https://java.cunzaima.cn/jdk21/doc-zh/api/java.base/java/util/Arrays.html